package cn.bonoon.core.plugins;

import java.util.Date;
import java.util.List;

import cn.bonoon.entities.calendars.ScheduleEntity;
import cn.bonoon.kernel.support.IOperator;
import cn.bonoon.kernel.support.services.GenericService;

public interface ScheduleService extends GenericService<ScheduleEntity> {

	List<ScheduleEntity> getByExecuteAt(IOperator opt, Date executeAt);

	boolean hasSchedule(IOperator opt, Date executeAt);
	
	List<ScheduleEntity> getYear(IOperator opt, int year);
	
	List<ScheduleEntity> getMonth(IOperator opt, int year, int month);
	
	List<ScheduleEntity> getWeek(IOperator opt, int year, int month, int date);
	
	void delete(IOperator opt, Long[] ids);
}
